package com.lantosec.hmrp.modules.internal.vo;

import java.time.LocalDateTime;
import java.util.Date;

import com.lantosec.hmrp.modules.internal.entity.InternalNote;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 评价记录 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-04-23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="InternalNote对象", description="评价记录")
public class InternalNoteVO extends BaseVO<InternalNote> {
    private static final long serialVersionUID = 1L;


    public InternalNoteVO(InternalNote entity){
        this.internalNoteId = entity.getInternalNoteId();
        this.internalTaskDetailId = entity.getInternalTaskDetailId();
        this.internalTaskId = entity.getInternalTaskId();
        this.executorDeptId = entity.getExecutorDeptId();
        this.executorPositionId = entity.getExecutorPositionId();
        this.executorUserId = entity.getExecutorUserId();
        this.targetDeptId = entity.getTargetDeptId();
        this.targetPositionId = entity.getTargetPositionId();
        this.targetUserId = entity.getTargetUserId();
        this.internalItemId = entity.getInternalItemId();
        this.internalLevelId = entity.getInternalLevelId();
        this.reason = entity.getReason();
        this.createTime = entity.getCreateTime();
        this.submitTime = entity.getSubmitTime();
    }

    @Override
    public InternalNote convertToEntity(){
        return new InternalNote(this);
    }


    @ApiModelProperty(value = "评价记录ID")
    private Integer internalNoteId;

    @ApiModelProperty(value = "评价任务明细ID")
    private Integer internalTaskDetailId;

    @ApiModelProperty(value = "评价任务ID")
    private Integer internalTaskId;

    @ApiModelProperty(value = "评价方ID（部门）")
    private String executorDeptId;

    @ApiModelProperty(value = "评价方ID（岗位）")
    private String executorPositionId;

    @ApiModelProperty(value = "评价人ID")
    private String executorUserId;

    @ApiModelProperty(value = "被评价方ID(部门)")
    private String targetDeptId;

    @ApiModelProperty(value = "被评价方ID(岗位)")
    private String targetPositionId;

    @ApiModelProperty(value = "被评价方ID(人员)")
    private String targetUserId;

    @ApiModelProperty(value = "评价项目ID")
    private String internalItemId;

    @ApiModelProperty(value = "评价等级ID")
    private Integer internalLevelId;

    @ApiModelProperty(value = "评价理由")
    private String reason;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "提交时间")
    private Date submitTime;

    @ApiModelProperty(value = "项目名称")
    private String internalItemName;
    @ApiModelProperty(value = "等级名称")
    private String internalLevelName;
    @ApiModelProperty(value = "考评方案ID")
    private Integer internalPlanId;
    @ApiModelProperty(value = "状态（1 提交）")
    private Integer state;
}
